home *** CD-ROM | disk | FTP | other *** search
/ Aminet 20 / Aminet 20 (1997)(GTI - Schatztruhe)[!][Aug 1997].iso / Aminet / comm / www / HTP.lha / HTP / source / html.h < prev    next >
C/C++ Source or Header  |  1997-06-21  |  2KB  |  65 lines

  1. /*
  2. //
  3. // html.h
  4. //
  5. // HTML markup tag functions
  6. //
  7. // Copyright (c) 1995-96 Jim Nelson.  Permission to distribute
  8. // granted by the author.  No warranties are made on the fitness of this
  9. // source code.
  10. // Amiga version - 1997 - Geert Bevin
  11. //
  12. */
  13.  
  14. #ifndef MARKUP_H
  15. #define MARKUP_H
  16.  
  17. #include <exec/types.h>
  18.  
  19. #define MAX_ATTRIBUTE_COUNT     (32)
  20.  
  21. typedef struct tagHTML_ATTRIBUTE
  22. {
  23.     char        *name;
  24.     char        *value;
  25.     BOOL        quoted;
  26. } HTML_ATTRIBUTE;
  27.  
  28. typedef struct tagHTML_MARKUP
  29. {
  30.     char        *tag;
  31.     uint        attribCount;
  32.     HTML_ATTRIBUTE attrib[MAX_ATTRIBUTE_COUNT];
  33. } HTML_MARKUP;
  34.  
  35. /*
  36. // functions
  37. */
  38.  
  39. /* whitespace functions are not specific to markup tags, but commonly used */
  40. char *FindWhitespace(char *str);
  41. char *FindNonWhitespace(char *str);
  42.  
  43. /* HTML_ATTRIBUTE functions */
  44. BOOL MakeAttribute(HTML_ATTRIBUTE *htmlAttribute, const char *name,
  45.     const char *value, BOOL quoted);
  46. BOOL ChangeAttributeName(HTML_ATTRIBUTE *htmlAttribute, const char *name);
  47. BOOL ChangeAttributeValue(HTML_ATTRIBUTE *htmlAttribute, const char *value,
  48.     BOOL quoted);
  49. void DestroyAttribute(HTML_ATTRIBUTE *htmlAttribute);
  50.  
  51. /* HTML_MARKUP functions */
  52. BOOL PlaintextToMarkup(const char *plaintext, HTML_MARKUP *htmlMarkup);
  53. BOOL MarkupToPlaintext(HTML_MARKUP *htmlMarkup, char **plaintext);
  54. BOOL AddAttributeToMarkup(HTML_MARKUP *htmlMarkup, const char *name,
  55.     const char *value, BOOL quoted);
  56. void DestroyMarkupStruct(HTML_MARKUP *htmlMarkup);
  57. BOOL IsMarkupTag(HTML_MARKUP *htmlMarkup, const char *tag);
  58. BOOL IsAttributeInMarkup(HTML_MARKUP *htmlMarkup, const char *name);
  59. const char *MarkupAttributeValue(HTML_MARKUP *htmlMarkup, const char *name);
  60. BOOL ChangeMarkupTag(HTML_MARKUP *htmlMarkup, const char *tag);
  61. const HTML_ATTRIBUTE *MarkupAttribute(HTML_MARKUP *htmlMarkup, uint index);
  62.  
  63. #endif
  64.  
  65.